package com.yqh.Collection.List;

/**
 * ArrayList 集合的底层原理
 *
 * @author 阳秋豪
 * @createTime 2024/3/6
 */
public class Test3 {
    public static void main(String[] args) {
        /*---------------- ArrayList 集合的底层原理 ----------------*/
        // 1、利用无参构造器创建的集合，会在底层创建一个默认长度为0的数组
        // 2、添加第一个元素时，底层会创建一个新的长度为10的数组
        // 3、存满时，会扩容1.5倍
        // 4、如果一次添加多个元素，1.5倍还放不下，则新创建数组的长度以实际为准

        /*---------------- ArrayList 集合的应用场景 ----------------*/
        // 1、ArrayList 适合:根据索引查询数据比如根据随机索引取数据(高效)!或者数据量不是很大时!
        // 2、ArrayList 不适合:数据量大的同时又要频繁的进行增删操作!

    }
}
